package com.taotao.job.model.entity;

import com.alibaba.fastjson.JSON;
import lombok.Data;



import java.util.Date;



/**
* 任务运行实例信息
* @author Fan Beibei
* @date   2021-03-14 21:43:18
*/
@Data
public class JobRunInstance {

	/**
	* 主键
	*/
	private Long id;
	/**
	* 执行器编码
	*/
	private String executorCode;
	/**
	* 任务编码
	*/
	private String jobCode;
	/**
	* 任务名称
	*/
	private String jobName;
	/**
	* 任务类型:1-普通任务;2-工作流任务;3-工作流任务下属节点
	*/
	private Integer jobType;
	/**
	* 执行器任务handler
	*/
	private String executorHandler;
	/**
	* 执行器地址
	*/
	private String executorAddress;
	/**
	* 应触发时间(根据cron表达计算出的触发时间或触发当前时间)
	*/
	private Date shouldTriggerTime;
	/**
	* 任务参数
	*/
	private String jobParam;
	/**
	* 广播参数（从前置任务传递过来的参数）
	*/
	private String broadcastParam;
	/**
	* 分片主任务id
	*/
	private Long shardingMainId;
	/**
	* 分片数,1表示不分片
	*/
	private Integer shardingCount;
	/**
	* 分片的索引,从0开始,-1表示主任务
	*/
	private Integer shardingIndex;
	/**
	* 实际触发时间
	*/
	private Date triggerTime;
	/**
	* 触发状态:0-触发中,1-触发成功,2-触发失败,3-错过触发
	*/
	private Integer triggerStatus;
	/**
	* 触发日志
	*/
	private String triggerMsg;
	/**
	* 运行状态:-1还未触发成功,0-等待运行,100-运行中,200-运行成功,404-实例丢失,500-运行失败,504-运行超时,904-杀死中,999-被杀死
	*/
	private Integer runStatus;
	/**
	* 运行时间
	*/
	private Date runTime;
	/**
	* 运行日志
	*/
	private String runMsg;
	/**
	* 执行器回调参数
	*/
	private String callBackParam;
	/**
	* 执行器回调时间
	*/
	private Date callBackTime;
	/**
	* 启动类型（1:自动启动，2:依赖启动，3:手动启动自己,4-手动启动自己及下级依赖）
	*/
	private Integer startType;
	/**
	* 所属的关系图id,,默认为0表示全局图
	*/
	private Long dagId;
	/**
	* 任务历史版本ID
	*/
	private Long historyId;
	/**
	* 重跑的任务id
	*/
	private Long rerunId;
	/**
	* 创建时间
	*/
	private Date createTime;
	/**
	* 最后更新时间
	*/
	private Date upateTime;

	@Override
	public String toString() {
		return JSON.toJSONString(this);
	}

}